package com.lc.index.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lc.common.annotation.Excel;
import com.lc.index.base.BaseEntity;

/**
 * 存储订单基本信息对象 lc_orders
 *
 * @author autoGen
 * @date 2025-03-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "存储订单基本信息")
@TableName("lc_orders")
public class Orders extends BaseEntity {

    /** 厨师名称 */
    @Schema(description = "存储厨师基本信息-厨师名称")
    @ApiParam(name = "chefName",value = "存储厨师基本信息-厨师名称")
    @Excel(name = "厨师名称")
    @TableField(value = "`chefName`", exist = false)
    private String chefName;


    /** id */
    @TableId(value = "id", type = IdType.AUTO)
    @Schema(description = "PK_lc_orders")
    @ApiParam(name = "id",value = "PK_lc_orders")
    private Integer id;

    /** 用户id */
    @Schema(description = "存储订单基本信息-用户id")
    @ApiParam(name = "userId",value = "存储订单基本信息-用户id")
    @Excel(name = "用户id")
    @TableField(value = "`user_id`")
    private Integer userId;

    /** 厨师id */
    @Schema(description = "存储订单基本信息-厨师id")
    @ApiParam(name = "chefId",value = "存储订单基本信息-厨师id")
    @Excel(name = "厨师id")
    @TableField(value = "`chef_id`")
    private Integer chefId;

    /** 用餐时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "存储订单基本信息-用餐时间")
    @ApiParam(name = "time",value = "存储订单基本信息-用餐时间")
    @Excel(name = "用餐时间" , width = 30, dateFormat = "yyyy-MM-dd")
    @TableField(value = "`time`")
    private Date time;

    /** 用餐地址 */
    @Schema(description = "存储订单基本信息-用餐地址")
    @ApiParam(name = "address",value = "存储订单基本信息-用餐地址")
    @Excel(name = "用餐地址")
    @TableField(value = "`address`")
    private String address;

    /** 用餐人数 */
    @Schema(description = "存储订单基本信息-用餐人数")
    @ApiParam(name = "count",value = "存储订单基本信息-用餐人数")
    @Excel(name = "用餐人数")
    @TableField(value = "`count`")
    private Integer count;

    /** 特殊要求 */
    @Schema(description = "存储订单基本信息-特殊要求")
    @ApiParam(name = "requests",value = "存储订单基本信息-特殊要求")
    @Excel(name = "特殊要求")
    @TableField(value = "`requests`")
    private String requests;

    /** 订单总金额 */
    @Schema(description = "存储订单基本信息-订单总金额")
    @ApiParam(name = "amount",value = "存储订单基本信息-订单总金额")
    @Excel(name = "订单总金额")
    @TableField(value = "`amount`")
    private BigDecimal amount;

    /** 订单状态 */
    @Schema(description = "存储订单基本信息-订单状态")
    @ApiParam(name = "orderType",value = "存储订单基本信息-订单状态")
    @Excel(name = "订单状态")
    @TableField(value = "`order_type`")
    private String orderType;

    /** 支付状态 */
    @Schema(description = "存储订单基本信息-支付状态")
    @ApiParam(name = "paymentType",value = "存储订单基本信息-支付状态")
    @Excel(name = "支付状态")
    @TableField(value = "`payment_type`")
    private String paymentType;

    /** 创建时间 */
    @TableField(value = "`create_time`")
    private Date createTime;

    /** 创建人 */
    @TableField(value = "`create_by`", fill = FieldFill.INSERT)
    private String createBy;

    /** 修改时间 */
    @TableField(value = "`update_time`")
    private Date updateTime;

    /** 修改人 */
    @TableField(value = "`update_by`", fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /** 有效标志1有效0无效(无效数据任何地方不可见) */
    @TableField(value = "`valid_flag`")
    private Integer validFlag;


}

